Combining data originating from a first data channel and from a second data channel into a combined data frame in order for joint transmission within the combined data frame is a common use case. For example, when data of two distinct environmental sensors is collected, the data of both sensors is often required to be transmitted by means of a single communication channel. In order to determine, whether data has been corrupted while being transmitted over the communication channel, which may be a wireline or a wireless communication link, error correction codes can be used which add some redundant information to the data. The added redundancy allows determining whether data is being corrupted while being transmitted, or not. The error detection capability, i.e. the extent to which a corruption of data can still be discovered (e.g. in terms of a number of bits being flipped while transmitted) depends on the particular error correction code used to determine the redundant information.
One particular use case are automotive applications where functional safety is an issue of rising importance. In order to guarantee functional safety of sensor systems, independent sensor signals for the same physical quantity are often transmitted in order to be able to compare the sensor signals on the receiving side, for example at an electronic control unit (ECU). Independence of the sensor data may be required in order to allow for a proper control mechanism and can often be achieved by use of different sensor technologies, different location of the sensors, different data rates, different sampling phases, different electrical setup of the sensor bias and readout, different measurement ranges, different encoding, different signal processing or combinations of the previously-listed measures. The use of an independent communication interface for each independent data source, however, causes more effort, more pins for a sensor package and the necessity to implement redundant wiring within the vehicle. In order to avoid the cost and weight sensitive issue of redundant wiring and in order to maintain compatibility with existing solutions and wiring schemes, first data of the first sensor and second data of the second sensor may be jointly transmitted within a combined data frame and a common communication interface. In other applications requiring joint transmission of data, first data emanating from the first sensor may be characterized as a first data coming from a first data channel and the second data of the second sensor may be characterized as a second data of a second channel.
One task is to combine the first data of the first data channel and the second data of the second data channel in a combined data frame for transmission, additionally providing a joint error correction code allowing to, at least, determine whether data is corrupted while being transmitted over the common data channel. In particular, in functional safety applications, eventually not only the transmission channel should to be covered, but also the computing entities or the hardware combining the data into the common frame and generating the error correction code. One way forward would be to use independent error code generators within each of the data channels, providing two distinct error correction codes and to assemble a combined frame using a first error correction code for the first data and a second error correction code for the second data. However, this may end up with a data frame comprising an excessive amount of data for the error correction code without any additional benefit. Alternatively, one may provide a combined data frame having the first and the second data multiplexed in the combined data frame before processing the combined data frame by an additional, subsequent error code generator. However, having no control over the joint error code generator and the frame assembly, the ability to diagnose whether data has been modified while being processed by the jointly used processing blocks including the error code generator would be lost. Control may be achieved by an exchange of the entire first data and second data between the two data channels so that each of the data channels (having its own error code generator) is in possession of the full information of the first data as well as of the second data. The error correction code generators may then individually process an error correction code for the full data which may then be compared so as to conclude, whether a hardware failure occurred in the generation of the error correction code. However, this implementation is costly in terms of additionally required hard-/or software as well as additional processing time.
There appears to be a desire to improve efficiency and reliability of the generation of an error correction code for a combined data frame having data of a first data channel as well as data of a second data channel.